Dynamically optimizing delivery of multimedia content over a network

ABSTRACT

A method includes connecting a communications device to an Internet Multimedia Subsystem network. The method includes transmitting presence information indicating multimedia capabilities of the communications device and requesting multimedia content from a multimedia server to cause the multimedia server to transmit multimedia content. The method includes detecting connection of a peripheral device to the communications device and determining that the multimedia capabilities have increased due to the connection of the peripheral device. The method includes updating the presence information to indicate the increased multimedia capabilities and transmitting the updated presence information to cause the multimedia server to transmit the multimedia content adjusted for the increased multimedia capabilities indicated in the updated presence information. The method includes receiving the multimedia content adjusted for the increased multimedia capabilities and presenting at least some of the adjusted multimedia content on the peripheral device.

CROSS-REFERENCE TO RELATED APPLICATION

This application is a continuation of U.S. patent application Ser. No.13/364,956, entitled DYNAMICALLY OPTIMIZING DELIVERY OF MULTIMEDIACONTENT OVER A NETWORK, filed Feb. 2, 2012, now allowed, which is acontinuation of U.S. patent application Ser. No. 12/401,782, entitledDYNAMICALLY OPTIMIZING DELIVERY OF MULTIMEDIA CONTENT OVER A NETWORK,filed Mar. 11, 2009, (now U.S. Pat. No. 8,180,906).

BACKGROUND

Embodiments of the inventive subject matter generally relate to thefield of networking, and, more particularly, to dynamically optimizingdelivery of multimedia content over a network.

Internet Multimedia Subsystem (IMS) is a set of specifications forimplementing internet protocol (IP) based telephony and multimediaservices over a network. IMS often uses Internet Engineering Task Force(IETF) protocols such as Session Initiation Protocol (SIP). IMS networksutilize presence servers to store presence information of network users.Presence information indicates a user's communication devices (e.g., alaptop, a mobile phone, etc.) and capabilities of the devices (e.g.,audio quality, video quality, instant messaging, etc.). Multimediaservers use presence information to optimize delivery of multimediacontent to users. For example, if a user is able to receive audiocontent on a low fidelity device, it is not appropriate for a multimediaserver to deliver a high quality audio stream. As another example, auser is able to receive video content on both a mobile phone and alaptop. The user initiates a video download on the mobile phone. Themedia server uses presence information to determine that it shoulddeliver the video content to the laptop because the laptop has bettervideo capabilities than the mobile phone.

SUMMARY

Some example embodiments include a method that includes connecting acommunications device to an Internet Multimedia Subsystem network. Themethod includes transmitting presence information indicating multimediacapabilities of the communications device. The method includesrequesting multimedia content from a multimedia server to cause themultimedia server to transmit multimedia content to the communicationsdevice according to the multimedia capabilities indicated in thepresence information. The method includes detecting connection of aperipheral device to the communications device. The method includesdetermining that the multimedia capabilities have increased due to theconnection of the peripheral device. The method includes updating thepresence information to indicate the increased multimedia capabilities.The method includes transmitting the updated presence information tocause the multimedia server to transmit the multimedia content adjustedfor the increased multimedia capabilities indicated in the updatedpresence information. The method includes receiving the multimediacontent adjusted for the increased multimedia capabilities. The methodincludes presenting at least some of the adjusted multimedia content onthe peripheral device.

BRIEF DESCRIPTION OF THE DRAWINGS

The present embodiments may be better understood, and numerous objects,features, and advantages made apparent to those skilled in the art byreferencing the accompanying drawings.

FIG. 1 is an example conceptual diagram of optimizing delivery ofmultimedia content based on presence information.

FIG. 2 is a flowchart depicting example operations for updatingmultimedia capabilities based on connection of a peripheral device.

FIG. 3 is a flowchart depicting example operations for updatingmultimedia capabilities based on disconnection of a peripheral device.

FIG. 4 depicts an example computer system.

DESCRIPTION OF EMBODIMENT(S)

The description that follows includes exemplary systems, methods,techniques, instruction sequences, and computer program products thatembody techniques of the present inventive subject matter. However, itis understood that the described embodiments may be practiced withoutthese specific details. For instance, although examples refer to IMSnetworks, embodiments may be implemented in other types of networks. Inother instances, well-known instruction instances, protocols,structures, and techniques have not been shown in detail in order not toobfuscate the description.

Communication device capabilities may change during an establishedmultimedia session due to connection of a peripheral device. Forexample, a user listens to an Internet radio service on a mobile phonethrough a set of headphones. Later, the user connects the mobile phoneto stereo system in a car. The mobile phone can leverage the car'sstereo system to present higher quality audio than it could present withthe headphones. Functionality can be implemented in a communicationdevice to detect connection of a peripheral device and determinemultimedia capabilities of the peripheral device. The communicationdevice updates its presence information to indicate the multimediacapabilities of the peripheral device. In response, a multimedia serverdetermines multimedia capabilities indicated in the presence informationhave changed and optimizes delivery of multimedia content based on theupdated multimedia capabilities.

FIG. 1 is an example conceptual diagram of optimizing delivery ofmultimedia content based on presence information. At 101.1, acommunications device 101 transmits presence information indicating itsmultimedia capabilities to a presence server 107.1. In this example, thecommunications device 101 is a portable media player (e.g., an iPod®, anmp3 player, etc.). Other examples of communications devices includemobile phones, personal digital assistants (PDAs), computers, etc.Multimedia capabilities may comprise supported audio and video codecs,maximum screen resolution, screen aspect ratio, number of audiochannels, etc. In this example, the communications device 101 transmitspresence information in a SIP registration request when it connects toan IMS network.

At 107.1, the presence server 107 stores the presence information forthe communications device 101.

At 101.2, the communications device 101 requests streaming video contentfrom a multimedia server 105. For example, the communications device 101sends a SIP INVITE message to the multimedia server 105 indicating thedesired streaming video content.

At 105.1, the multimedia server 105 detects the request for thestreaming video content from the communications device 101 and requeststhe communications device's 101 presence information from the presenceserver 107. In this example, the multimedia server 105 subscribes to thecommunications device's 101 presence information to cause the presenceserver 107 to transmit the presence information to the multimedia server105.

At 107.2, the presence server 107 transmits presence information for thecommunications device 101 to the multimedia server 105.

At 105.2, the multimedia server 105 receives the presence informationfor the communications device 101 and determines multimedia capabilitiesof the communications device 101 based on the presence information. Inthis example, the multimedia server 105 determines that thecommunications device 101 is capable of presenting Moving PicturesExpert Group-4 (MPEG-4) and Windows Media Video (WMV) formats at aresolution of 480×272 pixels.

At 105.3, the multimedia server 105 transmits the streaming videocontent according to multimedia capabilities of the communicationsdevice 101. In this example, the multimedia server 105 transmits thestreaming video content in a WMV format at a resolution of 480×272pixels.

At 101.3, the communications device 101 presents the streaming videocontent on its screen.

At 103.1, a video device 103 is connected to the communications device101. The video device 103 may be connected to the communications 101 byany suitable wired or wireless connection technology (e.g., UniversalSerial Bus (USB), 802.11, Bluetooth®, High-Definition MultimediaInterface (HDMI), etc.) In this example, the video device 103 is a highdefinition television. Other examples of video devices includecomputers, monitors, projectors, etc.

At 101.4, the communications device 101 detects connection of the videodevice 103 and determines the video device's 103 multimediacapabilities. In this example, the video device 103 is capable ofpresenting MPEG-2 formats at a resolution of 1820×720 pixels.

At 101.5, the communications device 101 transmits presence informationindicating the multimedia capabilities of the video device 103.

At 107.3, the presence server 107 updates presence information for thecommunications device 101.

At 107.4, the presence server 107 transmits the communications device's101 updated presence information to the multimedia sever 105. In thisexample, the presence server 107 transmits the updated presenceinformation to the multimedia server 105, because the multimedia server105 had previously subscribed to the presence information.

At 105.4, the multimedia server 105 determines that the communicationsdevice's 101 multimedia capabilities have been increased based on theupdated presence information.

At 105.5, the multimedia server 105 transmits the streaming videocontent according to the updated multimedia capabilities of thecommunications device. In this example, the multimedia server 105transmits the streaming video content in a MPEG-2 format at a resolutionof 1820×720 pixels.

At 101.6, the communications device 101 displays the streaming videocontent on the video device 103. The communications device 101 canleverage the multimedia capabilities of the video device 103 to causethe multimedia server 105 to transmit streaming video content that thecommunications device 101 cannot present on its own.

FIG. 2 is a flowchart depicting example operations for updatingmultimedia capabilities based on connection of a peripheral device. Flowbegins at block 201, where a communications device detects connection ofa peripheral device. Examples of communications device include mobilephones, portable media players, PDAs, computers, etc. Examples ofperipheral devices include televisions, monitors, speakers, stereosystems, etc. Flow continues at block 203.

At block 203, the communications device determines multimediacapabilities of the peripheral device. Multimedia capabilities maycomprise supported audio and video codecs, supported image formats,supported document file types, maximum screen resolution, screen aspectratio, number of audio channels, etc. Flow continues at block 205.

At block 205, the communications device determines if the peripheraldevice's multimedia capabilities increase its overall multimediacapabilities. For example, the peripheral device can be a set ofspeakers. The speakers can present audio over five channels. If thecommunications device can only present audio over two channels, themultimedia capabilities of the speakers increase the overall multimediacapabilities of the communications device. If the peripheral device'smultimedia capabilities increase the overall multimedia capabilities ofthe communications device, flow continues at block 207. If theperipheral device's multimedia capabilities do not increase the overallmultimedia capabilities of the communications device, flow ends.

At block 207, the communications device updates presence information toindicate the increased multimedia capabilities. Flow continues at block209.

At block 209, the communications device transmits the updated presenceinformation to a presence server and flow ends. For example, thecommunications device transmits a REGISTER message, indicating theincreased multimedia capabilities, to the presence server. Leveragingthe multimedia capabilities of the peripheral device allows thecommunications device to receive multimedia files that it is not able topresent on its own.

While delivering multimedia content to a communications device, amultimedia server may detect that the communications device's multimediacapabilities have increased. In response, the multimedia server deliversthe multimedia content at a higher quality based on the increasedmultimedia capabilities. For example, the communications device requestsa download of an audio file. The multimedia server begins transmitting alow quality version of the audio file to the communications device basedon the multimedia capabilities of the device indicated in thecommunications device's presence information. During the download, thecommunications device is connected to a stereo system or otherperipheral device. The communications device updates its presenceinformation to indicate increased multimedia capabilities of the stereosystem. The multimedia server begins transmitting a high quality versionof the audio file.

When a peripheral device is disconnected from a communications device,the multimedia capabilities of the communications device may decrease.FIG. 3 is a flowchart depicting example operations for updatingmultimedia capabilities based on disconnection of a peripheral device.Flow begins at block 301, where a communications device detectsdisconnection of a peripheral device. For example, the communicationsdevice determines that a Bluetooth connection has been lost when thecommunications device is moved too far away from the peripheral device.Flow continues at block 303.

At block 303, the communications device determines the peripheraldevice's multimedia capabilities. For example, the communications devicequeries the peripheral device about its multimedia capabilities. Flowcontinues at block 305.

At block 305, the communications device determines if overall multimediacapabilities have been decreased due to disconnection of the peripheraldevice. For example, a portable media device is disconnected from atelevision. The television was capable of presenting high definitionvideo. If the portable media device is not capable of presenting highdefinition video, the multimedia capabilities have been decreased. Ifthe overall multimedia capabilities have been decreased due to thedisconnection of the peripheral device, flow continues at block 307. Ifthe overall multimedia capabilities have not been decreased due to thedisconnection of the peripheral device, flow ends.

At block 307, the communications device updates presence information toindicate the decreased overall multimedia capabilities. Flow continuesat block 309.

At block 309, the communications device transmits the updated presenceinformation to a presence server and flow ends. For example, thecommunications device transmits a REGISTER message, indicating thedecreased multimedia capabilities, to the presence server.

While delivering multimedia content to a communications device, amultimedia server may detect that the communications device's multimediacapabilities have decreased. In response, the multimedia server deliversthe multimedia content at a lower quality based on the decreasedmultimedia capabilities. For example, a user is using a portablesatellite radio receiver to listen to a satellite radio station in acar. The portable satellite radio receiver is connected to the car'shigh fidelity stereo system. A high quality version of the radio stationcontent is being delivered to the portable satellite radio receiverbased on its presence information indicating the multimedia capabilitiesof the car's stereo system. When the user arrives at work, hedisconnects the satellite receiver from the car's stereo system andcontinues to listen to the radio station on speakers native to thereceiver. The multimedia capabilities have decreased, so the portablesatellite radio receiver updates its presence information to indicatethe decreased multimedia capabilities. In response, a lower qualityversion of the radio station content is delivered to the portablesatellite radio receiver.

Although examples refer to a communications device transmitting presenceinformation to a presence server, embodiments are not so limited. Thecommunications device may transmit presence information to a multimediaserver when it establishes a connection to the multimedia server andwhen presence information changes. For example, the communicationsdevice transmits presence information to the multimedia server in an SIPINVITE message.

Although examples refer to a dynamically optimizing quality ofmultimedia files being delivered to a communications device based on achange in the communications device's multimedia capabilities,embodiments are not so limited. For example, a user wishes to listen toa new song released by their favorite artist while she is out for hermorning jog. The user requests a download of the song on a mobile phone.Once the download completes, she is able to listen to the song using aset of earphones connected to the phone. The next day, the user wishesto play the song for a friend that has not heard it. She connects themobile phone to a high fidelity stereo system. The mobile phonedetermines that the multimedia capabilities of the stereo systemincrease the overall multimedia capabilities of the mobile phone andupdates the mobile phones presence information. When the user selectsthe song, the mobile phone requests another download of the song. Inresponse, a higher quality version of the song is transmitted to themobile phone.

Embodiments may take the form of an entirely hardware embodiment, anentirely software embodiment (including firmware, resident software,micro-code, etc.) or an embodiment combining software and hardwareaspects that may all generally be referred to herein as a “circuit,”“module” or “system.” Furthermore, embodiments of the inventive subjectmatter may take the form of a computer program product embodied in anytangible medium of expression having computer usable program codeembodied in the medium. The described embodiments may be provided as acomputer program product, or software, that may include amachine-readable medium having stored thereon instructions, which may beused to program a computer system (or other electronic device(s)) toperform a process according to embodiments, whether presently describedor not, since every conceivable variation is not enumerated herein. Amachine-readable medium includes any mechanism for storing ortransmitting information in a form (e.g., software, processingapplication) readable by a machine (e.g., a computer). Themachine-readable medium may include, but is not limited to, magneticstorage medium (e.g., floppy diskette); optical storage medium (e.g.,CD-ROM); magneto-optical storage medium; read only memory (ROM); randomaccess memory (RAM); erasable programmable memory (e.g., EPROM andEEPROM); flash memory; or other types of medium suitable for storingelectronic instructions. In addition, embodiments may be embodied in anelectrical, optical, acoustical or other form of propagated signal(e.g., carrier waves, infrared signals, digital signals, etc.), orwireline, wireless, or other communications medium.

Computer program code for carrying out operations of the embodiments maybe written in any combination of one or more programming languages,including an object oriented programming language such as Java,Smalltalk, C++ or the like and conventional procedural programminglanguages, such as the “C” programming language or similar programminglanguages. The program code may execute entirely on a user's computer,partly on the user's computer, as a stand-alone software package, partlyon the user's computer and partly on a remote computer or entirely onthe remote computer or server. In the latter scenario, the remotecomputer may be connected to the user's computer through any type ofnetwork, including a local area network (LAN), a personal area network(PAN), or a wide area network (WAN), or the connection may be made to anexternal computer (for example, through the Internet using an InternetService Provider).

FIG. 4 depicts an example computer system. A computer system includes aprocessor unit 401 (possibly including multiple processors, multiplecores, multiple nodes, and/or implementing multi-threading, etc.). Thecomputer system includes memory 407. The memory 407 may be system memory(e.g., one or more of cache, SRAM, DRAM, zero capacitor RAM, TwinTransistor RAM, eDRAM, EDO RAM, DDR RAM, EEPROM, NRAM, RRAM, SONOS,PRAM, etc.) or any one or more of the above already described possiblerealizations of machine-readable media. The computer system alsoincludes a bus 403 (e.g., PCI, ISA, PCI-Express, HyperTransport®,InfiniBand®, NuBus, etc.), a network interface 405 (e.g., an ATMinterface, an Ethernet interface, a Frame Relay interface, SONETinterface, wireless interface, etc.), and a storage device(s) 409 (e.g.,optical storage, magnetic storage, etc.). The computer system alsoincludes a multimedia capabilities management unit 421. The multimediacapabilities management unit 421 detects connection of peripheraldevices, determines if the overall multimedia capabilities are increasedby the peripheral devices' multimedia capabilities, and updates presenceinformation to indicate the multimedia capabilities of the peripheraldevices. The multimedia capabilities management unit 421 also updatespresence information to indicate a decrease in multimedia capabilitiesdue to detecting disconnection of the peripheral devices. Although themultimedia capabilities management unit 421 is shown as a componentconnected to the bus 403, it can be implemented in any suitable fashion.For example, it may be partially (or entirely) implemented in hardware,software, and/or firmware. In some embodiments, the software can executeon the processing unit 401. In some embodiments, the functionality maybe implemented with an application specific integrated circuit, in logicimplemented in the processing unit 401, in a co-processor on aperipheral device or card, etc. Further, some embodiments may includefewer or additional components not illustrated in FIG. 4 (e.g., videocards, audio cards, additional network interfaces, peripheral devices,etc.). The processor unit 401, the storage device(s) 409, and thenetwork interface 405 are coupled to the bus 403. Although illustratedas being coupled to the bus 403, the memory 407 may be coupled to theprocessor unit 401.

While the embodiments are described with reference to variousimplementations and exploitations, it will be understood that theseembodiments are illustrative and that the scope of the inventive subjectmatter is not limited to them. In general, techniques for dynamicallyoptimizing delivery of multimedia content over a network as describedherein may be implemented with facilities consistent with any hardwaresystem or hardware systems. Many variations, modifications, additions,and improvements are possible.

Plural instances may be provided for components, operations, orstructures described herein as a single instance. Finally, boundariesbetween various components, operations and data stores are somewhatarbitrary, and particular operations are illustrated in the context ofspecific illustrative configurations. Other allocations of functionalityare envisioned and may fall within the scope of the inventive subjectmatter. In general, structures and functionality presented as separatecomponents in the exemplary configurations may be implemented as acombined structure or component. Similarly, structures and functionalitypresented as a single component may be implemented as separatecomponents. These and other variations, modifications, additions, andimprovements may fall within the scope of the inventive subject matter.

What is claimed is:
 1. A method comprising: connecting a communicationsdevice to an Internet Multimedia Subsystem network, wherein thecommunications device comprises a mobile device that includes at leastone of a laptop computer and a mobile phone; transmitting presenceinformation indicating multimedia capabilities of the communicationsdevice; requesting multimedia content from a multimedia server to causethe multimedia server to transmit multimedia content to thecommunications device according to the multimedia capabilities indicatedin the presence information; detecting connection of a peripheral deviceto the communications device, wherein the peripheral device comprises amedia device that includes at least one of a television, a monitor, aspeaker, and a stereo system; determining that the multimediacapabilities have increased due to the connection of the peripheraldevice; updating the presence information to indicate the increasedmultimedia capabilities; transmitting the updated presence informationto cause the multimedia server to transmit the multimedia contentadjusted for the increased multimedia capabilities indicated in theupdated presence information, wherein the increased multimediacapabilities are caused by the connection of the peripheral device tothe communications device; receiving the multimedia content adjusted forthe increased multimedia capabilities; and presenting at least some ofthe adjusted multimedia content on the peripheral device.
 2. The methodof claim 1, wherein the multimedia capabilities comprise, one or moreof, supported audio and video codecs, supported image formats, supporteddocument file types, maximum screen resolution, screen aspect ratio, andnumber of audio channels.
 3. The method of claim 1, wherein saidtransmitting the presence information indicating the multimediacapabilities of the communications device further comprises sending asession initiation protocol REGISTER message.
 4. The method of claim 1,wherein said detecting connection of the peripheral device to thecommunications device further comprises determining external multimediacapabilities of the peripheral device.
 5. The method of claim 1 furthercomprising: detecting disconnection of the peripheral device;determining that the multimedia capabilities have decreased due to thedisconnection of the peripheral device; updating the presenceinformation to indicate the decreased multimedia capabilities; andtransmitting the updated presence information to cause the multimediaserver to transmit the multimedia content according to the decreasedmultimedia capabilities indicated in the updated presence information.6. A method comprising: detecting connection of a peripheral device to acommunications device, wherein the communications device comprises amobile device that includes at least one of a laptop computer and amobile phone, and wherein the peripheral device comprises a media devicethat includes at least one of a television, a monitor, a speaker, and astereo system; determining that the multimedia capabilities haveincreased due to the connection of the peripheral device; transmittingpresence information indicating the increased multimedia capabilities ofthe communications device, wherein the increased multimedia capabilitiesare caused by the connection of the peripheral device to thecommunications device; requesting multimedia content from a multimediaserver to cause the multimedia server to transmit multimedia content tothe communications device according to the increased multimediacapabilities indicated in the presence information; detectingdisconnection of the peripheral device from the communications device;determining that the multimedia capabilities have decreased due to thedisconnection of the peripheral device; updating the presenceinformation to indicate the decreased multimedia capabilities;transmitting the updated presence information to cause the multimediaserver to transmit the multimedia content adjusted for the decreasedmultimedia capabilities indicated in the updated presence information,wherein the decreased multimedia capabilities are caused by thedisconnection of the peripheral device to the communications device; andpresenting the multimedia content on the communications device.
 7. Themethod of claim 6, wherein said detecting disconnection of theperipheral device further comprises determining external multimediacapabilities of the peripheral device.
 8. The method of claim 6, whereinsaid presenting the multimedia content on the communications devicefurther comprises receiving the multimedia content adjusted for theincreased multimedia capabilities.
 9. A computer program product fordynamically optimizing delivery of multimedia content over a network,the computer program product comprising: a non-transitory computerusable storage medium having computer usable program code embodiedtherewith, the computer usable program code comprising: computer usableprogram code configured to, connect a communications device to anInternet Multimedia Subsystem network, wherein the communications devicecomprises a mobile device that includes at least one of a laptopcomputer and a mobile phone; transmit presence information indicatingmultimedia capabilities of the communications device; request multimediacontent from a multimedia server to cause the multimedia server totransmit multimedia content to the communications device according tothe multimedia capabilities indicated in the presence information;detect connection of a peripheral device to the communications device,wherein the peripheral device comprises a media device that includes atleast one of a television, a monitor, a speaker, and a stereo system;determine that the multimedia capabilities have increased due to theconnection of the peripheral device; update the presence information toindicate the increased multimedia capabilities; transmit the updatedpresence information to cause the multimedia server to transmit themultimedia content adjusted for the increased multimedia capabilitiesindicated in the updated presence information, wherein the increasedmultimedia capabilities are caused by the connection of the peripheraldevice to the communications device; and present at least some of theadjusted multimedia content on the peripheral device.
 10. The computerprogram product of claim 9, wherein the multimedia capabilitiescomprise, one or more of, supported audio and video codecs, supportedimage formats, supported document file types, maximum screen resolution,screen aspect ratio, and number of audio channels.
 11. The computerprogram product of claim 9, wherein said computer usable program codebeing configured to transmit the presence information indicating themultimedia capabilities of the communications device comprises thecomputer usable code being configured to send a session initiationprotocol REGISTER message.
 12. The computer program product of claim 9,wherein said computer usable program code being configured to detectconnection of the peripheral device to the communications devicecomprises the computer usable code being configured to determineexternal multimedia capabilities of the peripheral device.
 13. Thecomputer program product of claim 9, wherein said computer usableprogram code being configured to: detect disconnection of the peripheraldevice; determine that the multimedia capabilities have decreased due tothe disconnection of the peripheral device; update the presenceinformation to indicate the decreased multimedia capabilities; andtransmit the updated presence information to cause the multimedia serverto transmit the multimedia content according to the decreased multimediacapabilities indicated in the updated presence information.
 14. Thecomputer program product of claim 13, wherein said computer usableprogram code being configured to detect disconnection of the peripheraldevice comprises the computer usable code being configured to determineexternal multimedia capabilities of the peripheral device.
 15. Acomputer program product for dynamically optimizing delivery ofmultimedia content over a network, the computer program productcomprising: a non-transitory computer usable storage medium havingcomputer usable program code embodied therewith, the computer usableprogram code comprising: computer usable program code configured to,detect connection of a peripheral device from a communications device,wherein the communications device comprises a mobile device thatincludes at least one of a laptop computer and a mobile phone, whereinthe peripheral device comprises a media device that includes at leastone of a television, a monitor, a speaker, and a stereo system;determine that the multimedia capabilities have increased due to theconnection of the peripheral device; transmit presence informationindicating the increased multimedia capabilities of the communicationsdevice; request multimedia content from a multimedia server to cause themultimedia server to transmit multimedia content to the communicationsdevice according to the increased multimedia capabilities indicated inthe presence information; detect disconnection of the peripheral device;determine that the multimedia capabilities have decreased due to thedisconnection of the peripheral device; update the presence informationto indicate the decreased multimedia capabilities; transmit the updatedpresence information to cause the multimedia server to transmit themultimedia content according to the decreased multimedia capabilitiesindicated in the updated presence information, wherein the decreasedmultimedia capabilities are caused by the disconnection of theperipheral device from the communications device; and present themultimedia content on the communications device.
 16. An apparatuscomprising: a set of one or more processors; a network interface; amultimedia capabilities management unit operable to: connect theapparatus to an Internet Multimedia Subsystem network, wherein theapparatus comprises a mobile device that includes at least one of alaptop computer and a mobile phone; transmit presence informationindicating multimedia capabilities of the apparatus; request multimediacontent from a multimedia server to cause the multimedia server totransmit multimedia content to the communications device according tothe multimedia capabilities indicated in the presence information;detect connection of a peripheral device to the apparatus, wherein theperipheral device comprises a media device that includes at least one ofa television, a monitor, a speaker, and a stereo system; determine thatthe multimedia capabilities have increased due to the connection of theperipheral device; update the presence information to indicate theincreased multimedia capabilities; and transmit the updated presenceinformation to cause the multimedia server to transmit the multimediacontent according to the increased multimedia capabilities indicated inthe updated presence information, wherein the increased multimediacapabilities are caused by the connection of the peripheral device tothe apparatus.
 17. The apparatus of claim 16, wherein said themultimedia capabilities management unit being operable to transmit thepresence information indicating the multimedia capabilities of thecommunications device further comprises the multimedia capabilitiesmanagement unit being operable to send a session initiation protocolREGISTER message.
 18. The apparatus of claim 16, wherein said themultimedia capabilities management unit being operable to detectconnection of the peripheral device further comprises the multimediacapabilities management unit being operable to determine externalmultimedia capabilities of the peripheral device.
 19. The apparatus ofclaim 16 further comprises the multimedia capabilities management unitbeing operable to: detect disconnection of the peripheral device;determine that the multimedia capabilities have decreased due to thedisconnection of the peripheral device; update the presence informationto indicate the decreased multimedia capabilities; and transmit theupdated presence information to cause the multimedia server to transmitthe multimedia content according to the decreased multimediacapabilities indicated in the updated presence information.
 20. Theapparatus of claim 19, wherein said the multimedia capabilitiesmanagement unit being operable to detect disconnection of the peripheraldevice further comprises the multimedia capabilities management unitbeing operable to determine external multimedia capabilities of theperipheral device.